Cloud storage enables users to access files from multiple devices and to share files with other users. Files are uploaded to one or more cloud-based servers and distributed to client devices authorized to access the shared files. The client devices may continuously or periodically upload changes to a shared file to the server and download new content stored on the server, effectively synchronizing files between the client devices.
When an author of a file shares the file with other users (“sharees”), the author may define permissions specifying whether the sharees can edit the file. An author may specify read/write permissions for the sharees, in which modifications the sharees make to a file may be uploaded to the cloud-based server and distributed to the author and other sharees. Alternatively, an author may specify read-only permissions for the sharees, allowing sharees to access a file but not distribute their edits to the file to other users. However, a sharee may bypass the read-only permissions or wish to modify a read-only file. If a sharee modifies a file that is synchronized from a server, any changes the sharee makes to the file may be overwritten at the next synchronization cycle. As a result, sharees lose any changes they make to a read-only file on their local device.